
char* image_name;
int image_width;
int image_height;
int image_format; // JPG, PNG, BMP, GIF
int* image_data;
int image_color_mode; // RGB, CMYK
int image_count;
char* webpage_url;
int* webpage_data;
char* webpage_content;
char* webpage_image_links;

open_webpage(webpage_url, webpage_data);
get_webpage_content(webpage_data, webpage_content);
get_image_links(webpage_content, webpage_image_links);
download_image(webpage_image_links, image_name, image_format, image_data, image_width, image_height);

check_webpage_status(webpage_url, webpage_data);
find_webpage_links(webpage_content, link_type);

open_image(image_name, image_format, image_data, image_width, image_height);
crop_image(image_data, image_width, image_height, image_name, image_format, x0, x1, y0, y1);
resize_image(image_data, image_width, image_height, image_name, image_format, width_new, heigth_new);
save_image(image_data, image_width, image_height, image_name, image_format);

get_image_data(image_data, image_width, image_height, x, y);
change_image_to_png(image_data, image_width, image_height, data_new);

class Image {
    char* name;
    int width;
    int height;
    int format; // JPG, PNG, BMP, GIF
    int* data;
    int color_mode; // RGB, CMYK
    int count;

    open(name);
    crop(x0, x1, y0, y1);
    resize(width_new, heigth_new);
    save(format);

    get_data(x, y);
    change_to_png();
};

class Image {
public:
    open(name);
    crop(x0, x1, y0, y1);
    resize(width_new, heigth_new);
    save(format);

private:
    get_data(x, y);
    change_to_png();
    char* name;
    int width;
    int height;
    int format; // JPG, PNG, BMP, GIF
    int* data;
    int color_mode; // RGB, CMYK
    int count;
};

a1.resize(64, 64);
a2.crop(0, 0, 10, 10);
a3.save("xx.png");